﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using Converter;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Telerik.Windows.Controls;
using System.Resources;
using System.Reflection;
using Accounting.Library;

namespace csla4Skeleton.UI.SL.NghiepVu.TinhGiaThanh.GT_KyGiaThanh
{
    public partial class FormThongTin : ChildWindow
    {
        GT_KyGiaThanh_ListViewModel ListViewModel;
        GT_KyGiaThanh_ChildWindow gt_KyGiaThanh_ChildWindow;
        public event EventHandler Saved;
        public FormThongTin(GT_KyGiaThanh_ListViewModel listViewModel)
        {        
            LocalizationConverter converter = new LocalizationConverter();
            converter.LocalResourceManager = new ResourceManager("ccsla4Skeleton.UI.SL.NghiepVu.TaiSanCoDinh.GT_KyGiaThanh.Resources", Assembly.GetExecutingAssembly());
            this.Resources.Add("Localization", converter);
            InitializeComponent();
            this.ListViewModel = listViewModel;
           
        }

        private void CancelButton_Click(object sender, RoutedEventArgs e)
        {
            this.DialogResult = false;
        }

        private void TinhKyGiaThanhButton_Click(object sender, RoutedEventArgs e)
        {

            if (TuNgay_DatePicker.SelectedValue.Equals("") || TuNgay_DatePicker.SelectedValue== null || DenNgay_DatePicker.SelectedValue.Equals("") || DenNgay_DatePicker.SelectedValue == null)
            {
                MessageBoxResult notice = MessageBox.Show("Bạn chưa nhập liệu đầy đủ", "Chưa nhập liệu", MessageBoxButton.OKCancel);
            }
            else
            {
                

                IList<GT_KyGiaThanhInfo> list = ListViewModel.Model.getListOfInfo();
                GT_KyGiaThanhInfo KyGiaThanh = null;
                foreach (GT_KyGiaThanhInfo item in list)
                {
                    if (item.TuNgay == TuNgay_DatePicker.SelectedValue && item.DenNgay == DenNgay_DatePicker.SelectedValue)
                    {
                        KyGiaThanh = item;
                    }
                }
                if (KyGiaThanh != null)
                {
                   
                    MessageBoxResult result = MessageBox.Show("Chứng từ kỳ giá thành này đã tồn tại, bạn có muốn xem hay không?", "Xem chứng từ kỳ giá thành", MessageBoxButton.OKCancel);
                    if (result == MessageBoxResult.OK)
                    {

                        gt_KyGiaThanh_ChildWindow = new GT_KyGiaThanh_ChildWindow(KyGiaThanh.Khoa);
                        gt_KyGiaThanh_ChildWindow.Show();
                        this.Close();
                    }
                }
                else
                {

                    gt_KyGiaThanh_ChildWindow = new GT_KyGiaThanh_ChildWindow(this.TuNgay_DatePicker.SelectedValue, this.DenNgay_DatePicker.SelectedValue, this.DienGiaiTextBox.Text);
                    gt_KyGiaThanh_ChildWindow.Show();
                    gt_KyGiaThanh_ChildWindow.Visibility = Visibility.Collapsed;

                    this.TinhKyGiaThanhItemButton.IsEnabled = false;
                    this.BoQuaItemButton.IsEnabled = false;
                    gt_KyGiaThanh_ChildWindow.TinhKyGiaThanhCompleteted += new EventHandler(OnTinhKyGiaThanhCompleteted);
                    
                }
            }
            
        }
        private void DatePicker_KeyUp(object sender, KeyEventArgs e)
        {
            
            ControlBehavior.DatePickerBehaviors.DatePicker_KeyUp(sender, e, null);
            
        }
        private void OnTinhKyGiaThanhCompleteted(object sender, EventArgs e)
        {
            MessageBoxResult result = MessageBox.Show("Chứng từ kỳ giá thành đã xong, bạn có muốn xem chứng từ kỳ giá thành không ?", "Xem chứng từ kỳ giá thành", MessageBoxButton.OKCancel);
            if (result == MessageBoxResult.OK)
            {
                gt_KyGiaThanh_ChildWindow.Visibility = Visibility.Visible;
                if (Saved != null)
                {
                    Saved(sender, e);
                }
                this.Close();
            }
            else
            {
                gt_KyGiaThanh_ChildWindow.Close();
                if (Saved != null)
                {
                    Saved(sender, e);
                }
                this.Close();
            }
           
        }

        

        

        
    }
}

